
@protocol GKGameSessionService <NSObject>

@required

- (oneway void)createSessionInContainer:(NSString *)arg1 withTitle:(NSString *)arg2 maxConnectedPlayers:(long long)arg3 handler:(void (^)(GKGameSession *, NSError *))arg4;
- (oneway void)fetchShareURLForSessionWithIdentifier:(NSString *)arg1 handler:(void (^)(NSURL *, NSError *))arg2;
- (oneway void)loadDataForSessionWithIdentifier:(NSString *)arg1 handler:(void (^)(GKGameSession *, NSData *, NSError *))arg2;
- (oneway void)loadSessionWithIdentifier:(NSString *)arg1 handler:(void (^)(GKGameSession *, NSError *))arg2;
- (oneway void)loadSessionsInContainer:(NSString *)arg1 handler:(void (^)(NSArray *, NSError *))arg2;
- (oneway void)primaryPlayerInContainer:(NSString *)arg1 handler:(void (^)(GKCloudPlayer *, NSError *))arg2;
- (oneway void)removePlayers:(NSArray *)arg1 forSessionWithIdentifier:(NSString *)arg2 handler:(void (^)(GKGameSession *, NSError *))arg3;
- (oneway void)removeSessionWithIdentifier:(NSString *)arg1 handler:(void (^)(NSError *))arg2;
- (oneway void)saveData:(NSData *)arg1 forSessionWithIdentifier:(NSString *)arg2 changeTag:(NSString *)arg3 handler:(void (^)(GKGameSession *, NSData *, NSError *))arg4;
- (oneway void)sendData:(NSData *)arg1 reliably:(bool)arg2 forSessionWithIdentifier:(NSString *)arg3 handler:(void (^)(NSError *))arg4;
- (oneway void)sendMessageForSessionWithID:(NSString *)arg1 withLocalizedFormatKey:(NSString *)arg2 arguments:(NSArray *)arg3 userMessage:(NSString *)arg4 data:(NSData *)arg5 recipientIDs:(NSArray *)arg6 badgePlayers:(bool)arg7 handler:(void (^)(GKGameSession *, NSError *))arg8;
- (oneway void)setBadged:(bool)arg1 forPlayerIDs:(NSArray *)arg2 forSessionWithIdentifier:(NSString *)arg3 handler:(void (^)(GKGameSession *, NSError *))arg4;
- (oneway void)setConnectionState:(long long)arg1 forSessionWithIdentifier:(NSString *)arg2 handler:(void (^)(GKGameSession *, NSError *))arg3;

@end
